/*
	Create Date : 
	Author    : Pham Van Dam
	Copyright(c) 2009 A.D.A Solution. All rights reserved
	=====================================================
	Update History:
	Ver.    TRB#        Date            Author       Note
	1		V001		2010/01/12	    Toannn	    Review lần 2 bị lổi
	1		V002		2010/02/04	    Toannn	    Thêm chức năng cập nhật lại Phương tiện khi Tracking	
    2.0     TRB003      2010/10/13      Tannd       Fix bug chuyển bản đồ lỗi TypeError: N is null 
    3.0     TRB4        2011/01/27      Hoang Phuc  YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu     	
*/
//Are you sure you want to delete this place?
var strinput1 	= DEVICES_INPUT1;
var strinput2 	= DEVICES_INPUT2;
var strinput3On 	= DEVICES_INPUT3_ON;
var strinput3Off 	= DEVICES_INPUT3_OFF;
var strinput4On 	= DEVICES_INPUT4_ON;
var strinput4Off 	= DEVICES_INPUT4_OFF;
var strinput5On 	= DEVICES_INPUT5_ON;
var strinput5Off 	= DEVICES_INPUT5_OFF;
//  Khoi tao biet ngon ngu 
var obj_show	= DEVICES_OBJ_SHOW;
var not_data	= DEVICES_NO_DATA;



var index_status ;
function Devices()
{
	var obj=new Object();
	
	obj.currentIndex=-1;
	obj.lengthArr=0;
	obj.arrDevice = new Object();// new Array();	tránh duyệt function trong vong foreach
	obj.arrOld1=new Object();// new Array();	tránh duyệt function trong vong foreach
	obj.arrayLineReview=new Array();
	obj.GetDeviceById=function(id)
	{
		for(var i in obj.arrDevice)
		{			
			if (obj.arrDevice[i].id==id)
				return obj.arrDevice[i];
		}
		return "";
	}
	obj.GetDeviceByName=function(name)// ham mau chua xu ly
	{
		for(var i in obj.arrDevice)
		{			
			if (obj.arrDevice[i].id==name)
				return obj.arrDevice[i];
		}
		return "";
	}
	obj.GetDeviceByTime=function(time) // ham mau chua xu ly
	{   		
		for(var i in obj.arrDevice)
		{
			var t= obj.arrDevice[i].time-time;			
			if (t==0)
				return obj.arrDevice[i];
		}
		return null;
	}
	obj.GetDevice=function(index)
	{
		return obj.arrDevice[index];
	}
	obj.IsChecked=function(index)
	{
		return obj.arrDevice[index].checked;
	}
	obj.CheckAll=function(bCheck)
	{
		for(var i in obj.arrDevice)
		{
		    obj.arrDevice[i].checked=bCheck;
		}
	}
	obj.Add=function(device) // them 1 phan tu moi vao cuoi mang
	{			
		obj.arrDevice.push(device);		
	}
	obj.Remove=function(index)   // xoa 1 phan tu mang o vi tri Index
	{
		obj.arrDevice.splice(index,1);
	}
	obj.Show=function(index,bCheck)
	{
		obj.arrDevice[index].checked=bCheck;
        if(bCheck==true)// co check thi hien thi
		{
			_global.myMap.ShowIcon(obj.arrDevice[index].icon);
			_global.myMap.ShowIcon(obj.arrDevice[index].icon2);
			_global.myMap.ShowInfo(obj.arrDevice[index]);
		}
		else // khong check thi an
		{
			_global.myMap.HideIcon(obj.arrDevice[index].icon);
			_global.myMap.HideIcon(obj.arrDevice[index].icon2);
			_global.myMap.HideInfo();
		}
	}
	obj.ShowNoInfo=function(index,bCheck)
	{
		obj.arrDevice[index].checked=bCheck;
		if(bCheck==true)// co check thi hien thi
		{
			_global.myMap.ShowIcon(obj.arrDevice[index].icon);
			_global.myMap.ShowIcon(obj.arrDevice[index].icon2);
		}
		else // khong check thi an
		{

			_global.myMap.HideIcon(obj.arrDevice[index].icon);
			_global.myMap.HideIcon(obj.arrDevice[index].icon2);

			_global.myMap.HideInfo();
		}
	}
	obj.ShowAll=function(bCheck)
	{
	    $("#tblDeviceList INPUT[type='checkbox']").attr("checked", bCheck);	
		for (var i in obj.arrDevice)
		{
		    obj.ShowNoInfo(i,bCheck);
		}	
	}
	obj.ClearAll=function()
	{
		for(var i in obj.arrDevice)
		{
			//1 V001  2010/01/12  Toannn  thêm vào try catch để bỏ qua lổi không có Overlay để remove  EditStart
			try
			{
				if(typeof(obj.arrDevice[i])!='undefined' && typeof(obj.arrDevice[i])!='function' && typeof(obj.arrDevice[i].icon)!='undefined')
					_global.myMap.RemoveOverlay(obj.arrDevice[i].icon);
			}
			catch(err)
			{
			}
			//1 V001  2010/01/12  Toannn   thêm vào try catch để bỏ qua lổi không có Overlay để remove  EditStart
		}
	}
    obj.HideIcon=function(index)
    {
       try
        {            
            if(typeof(obj.arrDevice[index])!='undefined' && typeof(obj.arrDevice[index])!='function' && typeof(obj.arrDevice[index].icon)!='undefined')
            {
                _global.myMap.HideIcon(obj.arrDevice[index].icon);
                _global.myMap.HideIcon(obj.arrDevice[index].icon2);
            }
        }
        catch(err)
        {
        }
    }
	obj.ClearAll2=function()
	{
		for(var i in obj.arrDevice)
		{
			//1 V001  2010/01/12  Toannn  thêm vào try catch để bỏ qua lổi không có Overlay để remove  EditStart
			try
			{
				if(typeof(obj.arrDevice[i])!='undefined' && typeof(obj.arrDevice[i])!='function' && typeof(obj.arrDevice[i].icon2)!='undefined')
					_global.myMap.RemoveOverlay(obj.arrDevice[i].icon2);
			}
			catch(err)
			{
			}
			//1 V001  2010/01/12  Toannn   thêm vào try catch để bỏ qua lổi không có Overlay để remove  EditStart
		}
	}
	obj.PanTo=function(index)
	{
		if (typeof(obj.arrDevice[index])!='undefined')
		{
			if(obj.arrDevice[index].checked==true)
		    {                                
				_global.myMap.PanTo(obj.arrDevice[index].latitude,obj.arrDevice[index].longitude);
				_global.myMap.ShowInfo(obj.arrDevice[index]);
                
				obj.SetHighlightTracking(index);
				obj.currentIndex=index;
			}else{
			    alert(obj_show);
			}  
		}	
		else
			alert(not_data);		
	}
	//1 V002  2010/01/12  Toannn  thêm vào hàm LoadTimes()  EditStart
	/**
	 * Hàm LoadTimes đặt lại dòng Highlight và duy chuyển tới Phương tiện 
	 * đang được chọn được lưu trong CurentIndex 
	 */
	obj.LoadTimes=function(index)
	{
		if(obj.currentIndex>=0)
		{
			obj.SetHighlightTracking(obj.currentIndex);// set Highlight
			obj.PanTo(obj.currentIndex);			   // di chuyển tới Phương tiện	
		}
		else
		{
			obj.SetHighlightTracking(index);// set Highlight
			obj.PanTo(index);	
		}
		
	}
	
	//1 V002  2010/01/12  Toannn  thêm vào hàm LoadTimes()  End Start
    obj.Status=function(index)
	{
        // Neu dang select dong hien tai thi giu nguyen vi tri do
        if(obj.currentIndex>=0) {
            index = obj.currentIndex;
        }
        
		if(index <= 0)
			index = index_status;
            	
		if (typeof(obj.arrDevice[index])!='undefined')
		{
			if(obj.arrDevice[index].checked==true)
		    {
				var speed = new Array();
				var indexof= obj.arrDevice[index].speed.indexOf(".");
				
				if(indexof>0)
				{
					speed = obj.arrDevice[index].speed.split(".");
				}
				else
				{
					indexof= obj.arrDevice[index].speed.indexOf("(");
					if(indexof>0)
					{
						speed = obj.arrDevice[index].speed.split("(");
					}
					
				}
				
				var status = speed[0]*1;	
				
				if(isNaN(status))
					status = 0;
				if(status%2==1)
					status =(status+1)/2;
				else	
					status =status/2;
				
                if(status >= 90)
					status = 90;
				
				var fuel = obj.arrDevice[index].fuel*1;
                 
				//alert(fuel);
				if(isNaN(fuel))
					fuel = 0;
                //Start TRB4 Hoang Phuc 2011/01/27 YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu  
                 var volume = obj.arrDevice[index].volume*1;       
                if(isNaN(volume))
                    volume = 100;
				 
                var tmpfuel = fuel.toString();
                var numfuel1 = 0;
                var numfuel2 = 0;
                var numfuel3 = 0;
                var numfuel4 = 0;
                if (fuel > 999)
                {
                  numfuel1 = tmpfuel.substr(0,1); 
                  numfuel2 = tmpfuel.substr(1,1); 
                  numfuel3 = tmpfuel.substr(2,1);
                  numfuel4 = tmpfuel.substr(3,1);
                }
                else if (fuel > 99 && fuel <= 999 )
                {
                  numfuel2 = tmpfuel.substr(0,1); 
                  numfuel3 = tmpfuel.substr(1,1); 
                  numfuel4 = tmpfuel.substr(2,1);
                }
                else if ( fuel > 9 && fuel <= 99)
                {
                  numfuel3 = tmpfuel.substr(0,1); 
                  numfuel4 = tmpfuel.substr(1,1);    
                }
                else if (fuel <= 9)
                {
                  numfuel4 = fuel; 
                }
                if (fuel > volume)
                {
                    fuel = volume;
                }
                var percentfuel = Math.round(fuel/volume*100,1);    
                var f = Math.round(Math.round(percentfuel/5,1));
				status = Math.round(status);  
                //End TRB4 Hoang Phuc 2011/01/27 YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu     
				document.getElementById("status").src="images/meter/"+status+".png";
				document.getElementById("fuel").src="images/fuel/"+f+".png";
                //Start TRB4 Hoang Phuc 2011/01/27 YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu     
                document.getElementById("numfuel1").src="images/fuel/"+numfuel1+".gif";
                document.getElementById("numfuel2").src="images/fuel/"+numfuel2+".gif";
                document.getElementById("numfuel3").src="images/fuel/"+numfuel3+".gif";
                document.getElementById("numfuel4").src="images/fuel/"+numfuel4+".gif";
                //End TRB4 Hoang Phuc 2011/01/27 YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu                     
                var spowerr = 'battery3.png';
                if(obj.arrDevice[index].power_id != 1 && obj.arrDevice[index].power_id != 2 && obj.arrDevice[index].power_id != 3)
                    obj.arrDevice[index].power_id = 3;
                document.getElementById('power').src = 'images/power/battery' + obj.arrDevice[index].power_id + '.png';
				
                // Hoat dong
				var input2 = '<font color="#cc3300"> '+obj.arrDevice[index].active+' </font>';
                $("#input2").html(input2);
              
                
                // Cua
                var input3 = (obj.arrDevice[index].input3 == 1 ? strinput3On : strinput3Off);
                $("#input3").html(input3);
          
                // May lanh
                var input4 = (obj.arrDevice[index].input4 == 1 ? strinput4On : strinput4Off);
                 $("#input4").html(input4);
                
                
                // Dong co
				var input5 = (obj.arrDevice[index].input5 == 1 ? strinput5On : strinput5Off);
                $("#input5").html(input5);
             
                                				
                var trucktype = obj.arrDevice[index].trucktype;
                $("#lblTruckType").html(trucktype+":");
				index_status = index;
			}
		}
	}

    obj.StatusR=function(index)
	{
		if(index <= 0)
			index = index_status;
			
		if (typeof(obj.arrDevice[index])!='undefined')
		{
			if(obj.arrDevice[index].checked==true)
		    {
				var speed = new Array();
				speed = obj.arrDevice[index].speed.split("(");
				var status = speed[0]*1;	
				if(isNaN(status))
					status = 0;
				
                if(status%2==1)
					status =(status+1)/2;
				else	
					status =status/2;
				
				var fuel = obj.arrDevice[index].fuel*1;
                //alert(fuel); 
				if(isNaN(fuel))
					fuel = 0;
               //Start TRB4 Hoang Phuc 2011/01/27 YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu  
               var volume = obj.arrDevice[index].volume*1;  
               if(isNaN(volume))
                    volume = 0; 
                var tmpfuel = fuel.toString();
                var numfuel1 = 0;
                var numfuel2 = 0;
                var numfuel3 = 0;
                var numfuel4 = 0;
                if (fuel > 999)
                {
                  numfuel1 = tmpfuel.substr(0,1); 
                  numfuel2 = tmpfuel.substr(1,1); 
                  numfuel3 = tmpfuel.substr(2,1);
                  numfuel4 = tmpfuel.substr(3,1);
                }
                else if (fuel > 99 && fuel <= 999 )
                {
                  numfuel2 = tmpfuel.substr(0,1); 
                  numfuel3 = tmpfuel.substr(1,1); 
                  numfuel4 = tmpfuel.substr(2,1);
                }
                else if ( fuel > 9 && fuel <= 99)
                {
                  numfuel3 = tmpfuel.substr(0,1); 
                  numfuel4 = tmpfuel.substr(1,1);    
                }
                else if (fuel <= 9)
                {
                  numfuel4 = tmpfuel.substr(0,1); 
                }
                if (fuel > volume)
                {
                    fuel = volume;
                }
                var percentfuel = Math.round(fuel/volume*100,1);    
                var f = Math.round(Math.round(percentfuel/5,1));                
                status = Math.round(status); 
                 //End TRB4 Hoang Phuc 2011/01/27 YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu 
				document.getElementById("status").src="images/meter/"+status+".png";
				document.getElementById("fuel").src="images/fuel/"+f+".png";
                //Start TRB4 Hoang Phuc 2011/01/27 YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu     
                document.getElementById("numfuel1").src="images/fuel/"+numfuel1+".gif";
                document.getElementById("numfuel2").src="images/fuel/"+numfuel2+".gif";
                document.getElementById("numfuel3").src="images/fuel/"+numfuel3+".gif";
                document.getElementById("numfuel4").src="images/fuel/"+numfuel4+".gif";
                //End TRB4 Hoang Phuc 2011/01/27 YC 048 Phần Theo dõi và Xem lại bổ sung thêm số Lit dầu     
               
				// Hoat dong
				var input2 = '<font color="#cc3300"> '+obj.arrDevice[index].active+' </font>';
                $("#input2").html(input2);    
                
                // Cua
				var input3 = (obj.arrDevice[index].input3 == 1 ? strinput3On : strinput3Off);
                $("#input3").html(input3);
                
                // May lanh
				var input4 = (obj.arrDevice[index].input4 == 1 ? strinput4On : strinput4Off);
				$("#input4").html(input4);
                
                // Dong co
               var  input5 = (obj.arrDevice[index].input5 == 1 ? strinput5On : strinput5Off);
				$("#input5").html(input5);
				
               var trucktype = obj.arrDevice[index].trucktype;
                $("#lblTruckType").html(trucktype+":");
                
				index_status = index;
				
			}else{
			    alert(not_data);
			}  
		}
		
	}	

	obj.PanToReView=function(index)
	{
		try
		{
			if (typeof(obj.arrDevice[index])!='undefined')
			{
                _global.myMap.ClearDrawRun();  
                _global.myMap.MoveEnd(obj.arrDevice[index].latitude,obj.arrDevice[index].longitude);           
                if (document.getElementById('hdMoveEnd').value == 0)
                {
                  _global.myMap.ShowInfo(obj.arrDevice[index]);
                }
                else if (_global.IsPlaying == false)
                {
                    document.getElementById('hdMoveEnd').value = 0;
                }
                var newl = document.getElementById('hdZoomto').value;
               if ( $('#chkFlgPaint').val() == 2 
                || $('#chkFlgPaint').val() == 0 ||($('#chkFlgPaint').val() == 1 && obj.arrDevice[index].status == 1)
                ||($('#chkFlgPaint').val() == 3 && newl < 16 && ((obj.arrDevice[index].status == 1 && $('#hdPlayZoom').val() == 1) || ($('#hdPlayZoom').val() == 0 && _global.IsPlaying))) 
                ||($('#chkFlgPaint').val() == 3 && newl >=16 && ($('#hdPlayZoom').val() == 0 || ($('#hdPlayZoom').val() == 1 && obj.arrDevice[index].status == 1 && _global.IsPlaying))))
                {            
                    _global.myMap.ShowIcon(obj.arrDevice[index].icon);   
                }
				obj.SetHighlight(index);
                if (_global.IsPlaying == false) 
                {
                  obj.currentIndex=index;
                }
				obj.StatusR(index);
			}	
			else
            {
				//alert(not_data);
            }
		}
		catch(e)	
		{
			alert(e);		
		}	
	}
	
	obj.NextView=function(status)
	{
		try
		{
			if (obj.currentIndex >= obj.lengthArr || (_global.IsPlaying && status == 1))
            {
                return;
            }
            obj.currentIndex++;
			if(obj.currentIndex<=obj.lengthArr && obj.currentIndex>0)
			{
				obj.ScrollTop(obj.currentIndex);
				obj.PanToReView(obj.currentIndex);
				obj.StatusR(obj.currentIndex);
				if(status!=1)
				{
					obj.LineReview(obj.currentIndex,obj.currentIndex-1,obj.currentIndex);
				}	
			}
		}
		catch(e)	
		{
			alert(e);		
		}
	}
	
	obj.PrevView=function()
	{
        if (obj.currentIndex <= 1 || _global.IsPlaying) {
            return;
        }
		obj.currentIndex--;
		if(obj.currentIndex<=obj.lengthArr && obj.currentIndex>0)
		{
			obj.ScrollTop(obj.currentIndex);
			obj.PanToReView(obj.currentIndex);
			obj.StatusR(obj.currentIndex);

		}
	}
	obj.first=function()
	{
        if (_global.IsPlaying)
        {
            return;
        }
		if(obj.currentIndex<=obj.lengthArr && obj.currentIndex>0)
		{
			obj.ScrollTop(1);
			obj.PanToReView(1);
			obj.StatusR(1);
			obj.currentIndex=1;
		}
	}
	obj.last=function()
	{
        if (_global.IsPlaying)
        {
            return;
        }
		if(obj.currentIndex<=obj.lengthArr && obj.currentIndex>0)
		{
			obj.ScrollTop(obj.lengthArr);
			obj.PanToReView(obj.lengthArr);
			obj.StatusR(obj.lengthArr);
			obj.currentIndex=obj.lengthArr;
		}
	}
	obj.PressKey=function(event)
	{
	    if(!_global.checkTracking)
	    {
	        if(typeof(obj.lengthArr)!='undefined' && obj.lengthArr>0)
	        {
	            if(event.which==37)
	            {
	                obj.PrevView();
	            }
	            if(event.which==39)
	            {
	                obj.NextView(1);
	            }
	            if(event.which==38)
	            {
	                obj.first();
	            }
	            if(event.which==40)
	            {
	                obj.last();
	            }
	         }       
	    }    
	}
	obj.SetHighlight=function(index)
	{
		for (var i in obj.arrDevice)
		{
			document.getElementById('trreview'+i).className="trreviewnormal";
		}
		document.getElementById('trreview'+index).className="HightLight2";
		
	}
//1 V001  2010/01/12  Toannn  thêm vào hàm SetHighlightTracking()  EditStart	
	obj.SetHighlightTracking=function(index)
	{
		for (var i in obj.arrDevice)
		{
			document.getElementById('trTracking'+i).className="trreviewnormal";
            document.getElementById('trTracking2'+i).className="trreviewnormal";     
		}
		document.getElementById('trTracking'+index).className="HightLight2";
        document.getElementById('trTracking2'+index).className="HightLight2"; 
		
	}
//1 V001  2010/01/12  Toannn   thêm vào hàm SetHighlightTracking()  EditStart	
	obj.ScrollTop=function(index)
	{
		try
		{
			var h=0;
			if(index>1)
			{
				for(i=1;i<index;i++)
				{
					h+=parseInt(document.getElementById('trreview'+i).offsetHeight);
				}
			}
			document.getElementById('tbl-list-review').scrollTop=h;
		}
		catch(e)	
		{
			alert(e);		
		}	
	}
	obj.LoadDB=function()
	{		
		obj.arrOld1=obj.arrDevice;
		var status= _global.GetStatusCheck();	
	    // ajax load database into obj.arrDevice here.
		xajax_ajxGetDeviceList(status);	    
	}
	obj.LatLng2Address=function(index)
	{		
		var geocoder = new GClientGeocoder();
		var latlng=new GLatLng(obj.arrDevice[index].latitude,obj.arrDevice[index].longitude);
		var f=function showAddress(response) 
		{			
		  if (response && response.Status.code == 200) {
			 obj.arrDevice[index].position=response.Placemark[0].address;
			 $("#tdreviewpos").html( obj.arrDevice[index].position);
		  }
		}
		 try{			
			geocoder.getLocations(latlng,f);			
		 }catch(err){
			alert(err);
		 }		
	}
	obj.CreateIconAll=function(nCheck)
	{
		if(typeof(obj.arrDevice)!='undefined' && obj.arrDevice!=null)
		{
			for (var i in obj.arrDevice)
			{
			    obj.arrDevice[i].icon= _global.myMap.CreateIcon(obj.arrDevice[i],nCheck,i);
                obj.lengthArr=i;
                
                if(typeof(obj.arrOld1[i])!='undefined' && typeof(obj.arrOld1[i])!='function')
                {
                    if (!obj.arrOld1[i].checked) 
                    {
                        obj.HideIcon(i);
                    }
                }
			}		
		}		
	}
	obj.CreateIconAll2=function(nCheck)
	{ 
	
		if(typeof(obj.arrDevice)!='undefined' && obj.arrDevice!=null)
		{
			for (var i in obj.arrDevice)
			{	
				obj.arrDevice[i].icon2=_global.myMap.CreateIconDirection(obj.arrDevice[i]);
			}		
		}		
	}
	obj.UpdateChecked=function()
	{  	
		if(typeof(obj.arrDevice)!='undefined')
		{
			for(var i in obj.arrDevice)
			{
				if(typeof(obj.arrDevice[i])!='undefined' && typeof(obj.arrDevice[i])!='function')
				{
					if(typeof(obj.arrOld1[i])!='undefined' && typeof(obj.arrOld1[i])!='function')
					{
						obj.arrDevice[i].checked=obj.arrOld1[i].checked;
						$("#chkDevTracking_"+i).attr("checked", obj.arrDevice[i].checked);							
						if(obj.arrDevice[i].checked==false)
						{
						    $("#checkAllDevice").attr("checked", false);							
						}
					}
				}
			}
		}
	}
	obj.LineReview=function(newIndex,oldIndex,i)
	{
        //Add-Start by Phucnh - 2011.07.27: YC 148
        var chk = $('#chkFlgPaint').val();
        if (chk == 2) {
            return;
        }
        //Add-End by Phucnh - 2011.07.27: YC 148
        
		if (typeof(obj.arrDevice[newIndex])!='undefined' && typeof(obj.arrDevice[oldIndex])!='undefined')
		{
		   if ($('#chkFlgPaint').val() == 0 || $('#chkFlgPaint').val() == 1 || ($('#chkFlgPaint').val() == 3 && $('#hdPlayZoom').val() == 1)) {
           obj.arrayLineReview[i]=_global.myMap.DrawPolyline(obj.arrDevice[newIndex].latitude,obj.arrDevice[newIndex].longitude,obj.arrDevice[oldIndex].latitude,obj.arrDevice[oldIndex].longitude);
            }
            _global.myMap.CreateDrawRun(obj.arrDevice[newIndex].latitude,obj.arrDevice[newIndex].longitude); 
		}
	}
	obj.ClearLineReview=function()
	{
		for(var i=0;i<obj.arrayLineReview.length;i++)
		{
			//1 V001  2010/01/12  Toannn  thêm vào try catch để bỏ qua lổi không có Overlay để remove  EditStart
			try
			{
				if(typeof(obj.arrayLineReview[i])!='undefined' && typeof(obj.arrayLineReview[i])!='function')
					_global.myMap.DeleteLocation(obj.arrayLineReview[i]);
			}
			catch(err)
			{
			}
			//1 V001  2010/01/12  Toannn   thêm vào try catch để bỏ qua lổi không có Overlay để remove  EditStart
		}
	}
	obj.RemoveLineReview=function(index)
	{
		if(typeof(obj.arrayLineReview[index+1])!='undefined' && typeof(obj.arrayLineReview[index+1])!='function')
				_global.myMap.DeleteLocation(obj.arrayLineReview[index+1]);
	}    
	obj.CreateIconLineReview=function()
	{
        //Add-Start by Phucnh - 2011.07.27: YC 148
        var chk = $('#chkFlgPaint').val();
        if (chk == 2) {
            return;
        }
        //Add-End by Phucnh - 2011.07.27: YC 148
        
		var arrOld='';
		var j=0;
		if(typeof(obj.arrDevice)!='undefined' && obj.arrDevice!=null)
		{
			for (var i in obj.arrDevice)
			{	
				if(arrOld!='')
				{
					obj.arrayLineReview[j]=_global.myMap.DrawPolyline(arrOld.latitude,arrOld.longitude,obj.arrDevice[i].latitude,obj.arrDevice[i].longitude);
				}
				arrOld=obj.arrDevice[i];
				j++;
			}		
		}		
	}
    //Add-Start by Phucnh - 2011.07.28: YC 148      
     obj.ShowAllIcon=function()
    {
        for(var i in obj.arrDevice)
        {
            try
            {
                if(typeof(obj.arrDevice[i])!='undefined' && typeof(obj.arrDevice[i])!='function' && typeof(obj.arrDevice[i].icon)!='undefined')
                    _global.myMap.ShowIcon(obj.arrDevice[i].icon);    
            }
            catch(err)
            {
            }
        
        }
    }
    obj.HideAllIcon=function()
    {
            var newl = document.getElementById('hdZoomto').value; 
            for(var i in obj.arrDevice)
            {
                try
                {    
                   
                    if(typeof(obj.arrDevice[i])!='undefined' && typeof(obj.arrDevice[i])!='function' && typeof(obj.arrDevice[i].icon)!='undefined' &&
                      obj.arrDevice[i].status != 1)
                          if ($('#chkFlgPaint').val() == 1 ||($('#chkFlgPaint').val() == 3 && newl < 16))
                            {
                              _global.myMap.HideIcon(obj.arrDevice[i].icon);  
                            }
                        
                }
                catch(err)
                {
                }
            } 
    }
    //Add-END by Phucnh - 2011.07.28: YC 148      
    
    //Add-Start by Lamdhn - 2011.06.08: YC 142
    obj.flgPaintOnchanged = function(typeCurr) {
        if (_global.IsPlaying) {
            return;
        }
        var typePre =  $('#hdTypeViewPre').val();
        var newl = document.getElementById('hdZoomto').value; 
        var oldl = document.getElementById('hdZoomOld').value;                   
        // đường   
        if (typeCurr == 1 ) {
            
            if (typePre == 2 || (typePre == 3 && newl >= 16))
            {
                obj.HideAllIcon();     
                obj.CreateIconLineReview(); 
            }
            else if (typePre == 0)
            {
               obj.HideAllIcon();    
            }
        }
        // điểm
        else if (typeCurr == 2 ) {
           if (typePre == 1 || (typePre == 3 && newl < 16))
            {
               obj.ClearLineReview();
               obj.ShowAllIcon();         
            }
           else if (typePre == 0)
            {
               obj.ClearLineReview();         
            } 
        }
        // điểm + đường
        else if (typeCurr == 0) {
           if (typePre == 1 || (typePre == 3 && newl < 16))
            {
               obj.ShowAllIcon();         
            }
           else if (typePre == 2 || (typePre == 3 && newl >= 16))
            {
             obj.CreateIconLineReview();
            } 
        }
        // tự do > 200 m  kieu duong
        else if (typeCurr == 3 && newl < 16)
        {
            if (typePre == 2 || (typePre == 3 && newl == 15) || (typePre == 3 && oldl >= 16))
            {
                obj.HideAllIcon();
                obj.ClearLineReview();     
                obj.CreateIconLineReview(); 
            }
            else if (typePre == 0)
            {
               obj.HideAllIcon();    
            } 
        }
        // tự do <= 200 m  kieu diem 
        else if (typeCurr == 3 && newl >= 16)
        {
          if (typePre == 1 || (typePre == 3 && newl == 16) || (typePre == 3 && oldl < 16))
            {
               obj.ClearLineReview();
               obj.ShowAllIcon();         
            }
           else if (typePre == 0)
            {
               obj.ClearLineReview();         
            }   
        } 
        $('#hdTypeViewPre').val(typeCurr);
    }
    //Add-End by Lamdhn - 2011.06.08: YC 142
            
    return obj;
}
